package algorithm.t202112;

/**
 * @author : 李红磊
 * @version :1.0
 * @date : 2021/12/18 19:46
 * @description :1道
 * 今天下午学校集体在体育馆进行了核酸检测，可能也是在陕服的最后一次核酸。晚上吃过饭后和酷渲人事最终确定在12月27日早9:30办理入职，因为12月24日早上考完人工智能
 再去搬东西，25号是周末，公司不上班，所以推迟到27号，也还行，确定好就行。明天早上8:20考嵌入式，然后下午是人工智能复习，现在已经考完了计算机专业英语，明天
 再考一门嵌入式，就剩下计算机体系结构和人工智能了，现在算下来，这学期就只有四门课程，唉，还好还好。刚看了舍长的朋友圈，是2019年11月10号无常队踢校队的照片
 一眨眼时间都过去两年了，太快了！太快了！，那个时候我还在备考四级，还是李勇带的足球俱乐部，唉，无法表达这种无法掌控时间流逝的无奈感。现在要做的就是完成离校前
 的事情，考试，报告什么的，然后应该是25号离校，在那边安置一下就开始实习，然后过年回家的时候买上vivox70pro+，必须是来这个学校是vivo走也得是vivo，有始有终。
 还有就是西安疫情又严重了，希望疫情赶紧退去把，也马上两年了这个疫情，整的人心惶惶的。好了，不说了，努力，奋斗。突然忘记了，今天是四六级日，前年的这个时候，
 我考完了四级，然后去吃了泡馍，去年的这个时候，我考完了六级去吃了泡馍（O(∩_∩)O哈哈~），今年的这个时候我什么也没有做。想了想，第一次考四级，考完吃泡馍，过了，
 第一次考六级，考完吃杨国福，没过差5分，第二次考六级，考完吃泡馍，过了，看样子，考完试得吃泡馍才能保证过啊，哈哈哈哈。
 persevere to last
 2021.12.18
 李红磊
 2021年12月18日21:10:09
 */
public class t20211218 {

    int rows, columns;
    int[] dir = {-1, 0, 1, 0, -1};

    public int countBattleships(char[][] board) {
        rows = board.length;
        columns = board[0].length;
        int ans = 0;

        for (int i = 0; i < rows; i++) {
            for (int j = 0; j < columns; j++) {
                if (board[i][j] == 'X') {
                    ans++;
                    dfs(board, i, j);
                }

            }
        }
        return ans;
    }

    private void dfs(char[][] board, int x, int y) {
        board[x][y] = 'Q';

        for (int i = 0; i < 4; i++) {
            int new_x = x + dir[i];
            int new_y = y + dir[i + 1];
            if (new_x >= 0 && new_x < rows && new_y >= 0 && new_y < columns && board[new_x][new_y] == 'X')
                dfs(board, new_x, new_y);
        }

    }


}
